package com.ysd.lis.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.Timestamp;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 试卷列表
 * </p>
 *
 * @author LiuQi
 * @since 2024-04-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("WK_TEST_PAPER")
public class WkTestPaper extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 试卷编码
     */
    @TableField("TEST_CODE")
    private String testCode;

    /**
     * 试卷标题
     */
    @TableField("TEST_TITLE")
    private String testTitle;

    /**
     * 0：未开始 1：进行中 2：已结束
     */
    @TableField("STATUS")
    private BigDecimal status;

    /**
     * 考试开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField("START_DATE")
    private Timestamp startDate;

    /**
     * 考试结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField("END_DATE")
    private Timestamp endDate;

    /**
     * 总分
     */
    @TableField("TOTAL_SCORE")
    private Long totalScore;

    /**
     * 考试时长
     */
    @TableField("DURATION")
    private BigDecimal duration;

    /**
     * 考试类型 0 ：试剂考试，1：体检考试，2：检验考试
     */
    @TableField("PAPER_TYPE")
    private Integer paperType;

    /**
     * 出题人id
     */
    @TableField("QUESTION_ID")
    private String questionId;

    /**
     * 出题人名称
     */
    @TableField("QUESTION_NAME")
    private String questionName;

    /**
     * 备注
     */
    @TableField("REMAKE")
    private String remake;

    /**
     * 顺序
     */
    @TableField("SEQ")
    private BigDecimal seq;

    /**
     * 用户id
     */
    @TableField(exist = false)
    private String userId;

    /**
     * 试卷对应用户信息
     */
    @TableField(exist = false)
    private List<SysUser> sysUserList;

    /**
     * 试卷对应大题列表
     */
    @TableField(exist = false)
    private List<WkTestBig> wkTestBigList;
}
